CREATE EXTERNAL TABLE jms_dm.dm_network_bagging_detail_bag_dt(
  waybill_no string COMMENT '运单号', 
  bagging_site_code string COMMENT '网点编码_建包', 
  bagging_site string COMMENT '网点名称', 
  bagging_scan_time timestamp COMMENT '最早建包扫描时间', 
  bagging_user_code string COMMENT '最早建包扫描人员code', 
  bagging_user string COMMENT '最早建包扫描人员', 
  package_code string COMMENT '包号', 
  bagging_first_code string COMMENT '建包扫描一段码', 
  order_source_code string COMMENT '订单来源编码', 
  order_source_name string COMMENT '订单来源名称', 
  first_code string COMMENT '运单一段码', 
  goods_type_code string COMMENT '商品类型', 
  goods_type_name string COMMENT '商品名称', 
  package_length decimal(10,2) COMMENT '长', 
  package_wide decimal(10,2) COMMENT '宽', 
  package_high decimal(10,2) COMMENT '高', 
  package_charge_weight decimal(10,2) COMMENT '包裹计费重量', 
  customer_code string COMMENT '客户编码', 
  customer_name string COMMENT '客户名称', 
  dispatch_network_code string COMMENT '运单派件网点编码', 
  dispatch_network_name string COMMENT '运单派件网点名称', 
  pick_network_code string COMMENT '运单取件网点编码', 
  pick_network_name string COMMENT '运单取件网点编码', 
  end_center_code string COMMENT '运单一段码对应末端中心', 
  end_center_name string COMMENT '运单一段码对应末端中心名称', 
  delivery_scan_code string COMMENT '出仓网点编码', 
  delivery_scan string COMMENT '出仓网点名称', 
  express_center_short_code string COMMENT '出仓网点在差异化建包表中对应一段码', 
  fisrt_codes array<string> COMMENT '出仓网点省市区在一段码表中对应的一段码', 
  sign_scan_code string COMMENT '签收扫描网点编码', 
  sign_scan string COMMENT '签收扫描网点名称', 
  sign_scan_time string COMMENT '签收扫描时间', 
  reback_waybill_no string COMMENT '退转件运单号', 
  print_flag int COMMENT '面单是否打印', 
  terminal_dispatch_code string COMMENT '退转件对于三段码旧', 
  new_terminal_dispatch_code string COMMENT '退转件对于三段码新', 
  dispatch_code_rek string COMMENT '退转件表对应的派件网点', 
  first_code_old string COMMENT '退转件对应的一段码旧', 
  first_code_new string COMMENT '退转件对应的一段码新', 
  print_time timestamp COMMENT '面单打印时间', 
  bagging_scan_time2 timestamp COMMENT '最晚建包时间', 
  bagging_first_code2 string COMMENT '最晚建包扫描对应的一段码', 
  difficult_waybill_code string COMMENT '问题件单号', 
  bian_sort array<decimal(16,2)> COMMENT '包裹长宽高排序正', 
  waybill_no48 string COMMENT '实建包一段码48小时内是否发生变化', 
  bagging_scan_time3 timestamp COMMENT '建包扫描-3小时', 
  is_small int COMMENT '是否是小件', 
  is_slender int COMMENT '是否是细长件', 
  is_can_err int COMMENT '是否是错分的前置条件：问题件类型+48小时一段码是否变化', 
  is_err int COMMENT '是否错分')
 PARTITIONED BY (dt STRING COMMENT '时间分区 建包时间')
    STORED AS PARQUET
    LOCATION '/dw/hive/jms_dm.db/external/dm_network_bagging_detail_bag_dt'
    TBLPROPERTIES (
        'discover.partitions' = 'false',
        'parquet.column.index.access' = 'true'
        );
--------------中间表

CREATE EXTERNAL TABLE jms_tmp.dm_network_bagging_detail_bag_dt_tmp(
  waybill_no string COMMENT '运单号', 
  bagging_site_code string COMMENT '网点编码_建包', 
  bagging_site string COMMENT '网点名称', 
  bagging_scan_time timestamp COMMENT '最早建包扫描时间', 
  bagging_user_code string COMMENT '最早建包扫描人员code', 
  bagging_user string COMMENT '最早建包扫描人员', 
  package_code string COMMENT '包号', 
  bagging_first_code string COMMENT '建包扫描一段码', 
  order_source_code string COMMENT '订单来源编码', 
  order_source_name string COMMENT '订单来源名称', 
  first_code string COMMENT '运单一段码', 
  goods_type_code string COMMENT '商品类型', 
  goods_type_name string COMMENT '商品名称', 
  package_length decimal(10,2) COMMENT '长', 
  package_wide decimal(10,2) COMMENT '宽', 
  package_high decimal(10,2) COMMENT '高', 
  package_charge_weight decimal(10,2) COMMENT '包裹计费重量', 
  customer_code string COMMENT '客户编码', 
  customer_name string COMMENT '客户名称', 
  dispatch_network_code string COMMENT '运单派件网点编码', 
  dispatch_network_name string COMMENT '运单派件网点名称', 
  pick_network_code string COMMENT '运单取件网点编码', 
  pick_network_name string COMMENT '运单取件网点编码', 
  end_center_code string COMMENT '运单一段码对应末端中心', 
  end_center_name string COMMENT '运单一段码对应末端中心名称', 
  delivery_scan_code string COMMENT '出仓网点编码', 
  delivery_scan string COMMENT '出仓网点名称', 
  express_center_short_code string COMMENT '出仓网点在差异化建包表中对应一段码', 
  fisrt_codes array<string> COMMENT '出仓网点省市区在一段码表中对应的一段码', 
  sign_scan_code string COMMENT '签收扫描网点编码', 
  sign_scan string COMMENT '签收扫描网点名称', 
  sign_scan_time string COMMENT '签收扫描时间', 
  reback_waybill_no string COMMENT '退转件运单号', 
  print_flag int COMMENT '面单是否打印', 
  terminal_dispatch_code string COMMENT '退转件对于三段码旧', 
  new_terminal_dispatch_code string COMMENT '退转件对于三段码新', 
  dispatch_code_rek string COMMENT '退转件表对应的派件网点', 
  first_code_old string COMMENT '退转件对应的一段码旧', 
  first_code_new string COMMENT '退转件对应的一段码新', 
  print_time timestamp COMMENT '面单打印时间', 
  bagging_scan_time2 timestamp COMMENT '最晚建包时间', 
  bagging_first_code2 string COMMENT '最晚建包扫描对应的一段码', 
  difficult_waybill_code string COMMENT '问题件单号', 
  bian_sort array<decimal(16,2)> COMMENT '包裹长宽高排序正', 
  waybill_no48 string COMMENT '实建包一段码48小时内是否发生变化', 
  bagging_scan_time3 timestamp COMMENT '建包扫描-3小时')
 comment '建包明细中间表'
 PARTITIONED BY (dt STRING COMMENT '时间分区 建包时间')
    STORED AS PARQUET
    LOCATION '/dw/hive/jms_tmp.db/external/dm_network_bagging_detail_bag_dt_tmp'
    TBLPROPERTIES (
        'discover.partitions' = 'false',
        'parquet.column.index.access' = 'true'
        );